package com.example.d10_homework.homework05;

/**
 * 打印字符线程
 */
public class PrintCharThread implements Runnable {
    private char ch = 'A';

    /**
     * 线程运行方法
     * 本方法通过循环不断打印字符,直到字符大于 'Z' 为止
     * 使用同步块来确保线程安全,即在同一时间只有一个线程可以执行打印操作
     */
    @Override
    public void run() {
        // 无限循环,直到字符大于 'Z' 时退出循环
        while (true) {
            // 同步块,用于线程同步
            synchronized (this) {
                // 检查字符是否大于 'Z',如果是,则退出循环
                if (ch > 'Z') {
                    break;
                }
                // 打印当前字符,并将字符递增
                System.out.print(ch + " ");
                ch++;
            }
        }
    }
}
